package com.cn.zpark;

import com.alibaba.fastjson.JSON;

import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @PackageName: com.cn.zpark
 * @ClassName: JsonDemo02
 * @Description:将复杂的数据类型转换为json字符串
 * @author: RZS
 * @date: 2022/4/28  14:12
 */
public class JsonDemo02 {
    public static void main(String[] args) {
        // 创建EMP对象
        Emp emp = new Emp();
        emp.setName("大锤");
        emp.setUser(new User(1, "王二狗", "77777"));
        emp.setArr(new int[]{1, 2, 5, 8, 9});

        // 创建集合
        List<User> list = new ArrayList<>();
        // 往集合中添加元素
        list.add(new User(1, "张三", "123456"));
        list.add(new User(2, "李四", "123456"));
        list.add(new User(3, "王五", "123456"));
        list.add(new User(4, "赵六", "123456"));

        emp.setList(list);

        // 创建set集合
        Set<String> set = new HashSet<>();
        set.add("java");
        set.add("C");
        set.add("Python");
        set.add("C++");

        emp.setSet(set);

        // 创建map
        Map<String, Object> map = new HashMap<>();
        // 往map中添加数据
        map.put("name", "张三");
        map.put("array", new String[]{"Hello", "json", "java"});
        map.put("date", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

        emp.setMap(map);

        // 将复杂数据类型emp转为json字符串
        String json = JSON.toJSON(emp).toString();
        System.out.println(json);
    }
}
